1. Maven + ADT

src/test/java Error

새로운 Maven Project를 생성하면, "src/test/java"디렉토리가 없다는 에러가 나온다.
Build path > source 탭에서 src/test/java를 제거하면, 정상 빌드된다.

2. Asynchronous Http Client

  • maven 3rd party server 설정

Maven에 3rd party Library 추가.


$ cd ~/Downloads
$ mvn install:install-file -Dfile=android-async-http-1.4.3.jar -DgroupId=com.loopj.android.http -DartifactId=android-async-http -Dversion=1.4.3 -Dpackaging=jar

  • maven에 라이브러리 추가

pom.xml 추가


<dependency>
	<groupId>com.loopj.android.http</groupId>
	<artifactId>android-async-http</artifactId>
	<version>1.4.3</version>
</dependency>

  • 라이브러리 사용을 위한 퍼미션 추가.

Permission


<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

2.1. Asynchronous Http Client 테스트 샘플

AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.swjang.MavenAndroid" android:versionCode="1" android:versionName="0.0.1-SNAPSHOT">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".HelloAndroidActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    

  </application>

</manifest>

sample source


package com.swjang.MavenAndroid;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;


public class HelloAndroidActivity extends Activity {

    private static String TAG = "MavenAndroid";

    private void testHttpClient() {
    	
    	final TextView textView = (TextView) findViewById(R.id.textView);
    	
    	textView.setText("loading a webstie...");
    	AsyncHttpClient client = new AsyncHttpClient();
    	client.get("http://www.naver.com", new AsyncHttpResponseHandler() {
    		
    		
    		public void onSuccess(String arg0) {
    			textView.setText("Success : " + arg0);    			
    		};
    		public void onFailure(Throwable arg0) {
    			textView.setText("failed : " + arg0);
    		};
    	}
    	);
    }
    /**
     * Called when the activity is first created.
     * @param savedInstanceState If the activity is being re-initialized after 
     * previously being shut down then this Bundle contains the data it most 
     * recently supplied in onSaveInstanceState(Bundle). <b>Note: Otherwise it is null.</b>
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
		Log.i(TAG, "onCreate");
        setContentView(R.layout.main);
        
        this.testHttpClient();
    }

}

3. ORMLite - Lightweight Object Relational Mapping (ORM) Java Package

  • pom.xml 추가

<dependency>
	<groupId>com.j256.ormlite</groupId>
	<artifactId>ormlite-android</artifactId>
	<version>4.43</version>
</dependency>

4. FontAwsome

5. Balsamiq Mockup

  • http://www.balsamiq.com/products/mockups
  • UI 디자인 툴
  • Multi Platfrom 지원 (Linux, Windows, Mac)
  • 개인 라이세스 $79. (블로그에 소개글 등록하고, 메일을 보내면 개인라이센스 획득가능)
  • 강력추천 UI 툴(김원식) - /article/23929